package com.qcby.llmtchstd.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 试卷信息数据传输对象，用于填充Word模板
 * 适配Swagger 2.x和Spring Boot 2.7.6
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "试卷信息DTO，用于填充Word模板中的变量")
public class ExamPaperDto {

    @ApiModelProperty(value = "试卷名称", example = "2024年数学期末测试卷")
    private String paperName;
    @ApiModelProperty(value = "试卷ID", required = true, example = "1")
    private Integer examId;

    // 选择题相关字段
    @ApiModelProperty(value = "选择题数量", example = "10")
    private Integer choiceCount;

    @ApiModelProperty(value = "选择题总分", example = "20")
    private Integer choiceTotalScore;

    @ApiModelProperty(value = "选择题内容，JSON格式：[{\"id\":1,\"content\":\"题干\",\"score\":2,\"options\":[\"A选项\",\"B选项\"]}]")
    private String choiceQuestions;

    // 填空题相关字段
    @ApiModelProperty(value = "填空题数量", example = "5")
    private Integer fillCount;

    @ApiModelProperty(value = "填空题总分", example = "15")
    private Integer fillTotalScore;

    @ApiModelProperty(value = "填空题内容，JSON格式：[{\"id\":1,\"content\":\"题干______\",\"score\":3}]")
    private String fillQuestions;

    // 判断题相关字段
    @ApiModelProperty(value = "判断题数量", example = "8")
    private Integer judgeCount;

    @ApiModelProperty(value = "判断题总分", example = "8")
    private Integer judgeTotalScore;

    @ApiModelProperty(value = "判断题内容，JSON格式：[{\"id\":1,\"content\":\"题干\",\"score\":1}]")
    private String judgeQuestions;

    // 简答题相关字段
    @ApiModelProperty(value = "简答题数量", example = "3")
    private Integer essayCount;

    @ApiModelProperty(value = "简答题总分", example = "30")
    private Integer essayTotalScore;

    @ApiModelProperty(value = "简答题内容，JSON格式：[{\"id\":1,\"content\":\"题干\",\"score\":10}]")
    private String essayQuestions;

    // 计算题相关字段
    @ApiModelProperty(value = "计算题数量", example = "2")
    private Integer calculateCount;

    @ApiModelProperty(value = "计算题总分", example = "27")
    private Integer calculateTotalScore;

    @ApiModelProperty(value = "计算题内容，JSON格式：[{\"id\":1,\"content\":\"题干\",\"score\":15}]")
    private String calculateQuestions;


}
